package 备忘录设计模式;

public class MementoClient {

    public static void main(String[] args) {
        replayGame();
    }
    public static void replayGame() {

        // 需要建立快照的类
        GameOriginator originator = new GameOriginator();
        // 快照管理类
        GameCareTaker careTaker = new GameCareTaker();
        //玩游戏
        originator.playGame();
        // 保存快照
        GameProgressMemento gameProgressMemento = originator.saveProcess();
        //保存进度 快照管理器来管理快照，负责后续的查询操作
        careTaker.saveMemento(gameProgressMemento);
        //退出游戏
        originator.exitGame();

        //重新打开游戏，恢复进度，根据已经保存的快照信息来恢复进度
        originator.restoreProcess(gameProgressMemento);
        originator.playGame();
    }
}